//
// Created by czm on 2023/5/18.
//

#ifndef SMART_TRASHBOX_DEVICE_H
#define SMART_TRASHBOX_DEVICE_H

#include <nvs_flash.h>
#include <nvs.h>

/**
 * 设备基类
 */
class Device {
public:
    explicit Device(const char *key);

    virtual ~Device();

    virtual void init();

    /**
     * 从存储中载入参数
     */
    virtual void loadParamFromNv();
    /**
     * 保存参数到存储
     */
    virtual void saveParamToNv();

    /**
     * 处理逻辑
     */
    virtual void process();

protected:
    char prefixKey[32]{};
};


#endif //SMART_TRASHBOX_DEVICE_H
